The present invention relates generally to the storage of electronic files and, more particularly, to a more secure method of capturing, storing, retrieving, and presenting a stream of data. During the course of conducting business, managers are often required to maintain accurate records. To run a business smoothly and comply with regulatory and other legal requirements, business personnel must often be able to establish that a particular record was created or existed at a particular time. Also, they must be able to (1) confirm that the record has not been changed or (2) establish how the record has been changed over time.
For many years in the past, records were maintained, in the normal and ordinary course of business, on paper. Occasionally, a witness would sign and date a particular document to help establish that it existed as of the date of signing. The integrity of such files was generally assumed adequate, since it is often difficult to change paper documents without the paper showing signs of alteration.
Over the last several decades, however, computers and electronic files have become increasing ubiquitous. Business records are increasingly being maintained on electronic media, such as, for example, computer memories, floppy disks, magnetic tapes, and optical compact disks. Often, the dates and other data on such electronic media can be readily altered, without detection, even by operators who are not well-versed in digital technology. Many electronic documents can be copied and modified endlessly without obvious signs of the tampering, since it is often a trivial matter to change the date stamp on a computer file.
Thus, without precautions, stored digital files may often be easily tampered with. Various approaches have been taken to attempt to solve the problems associated with establishing the creation and existence of an electronic record at a particular point in time and confirming that the record has not been altered in the meantime. However, such procedures may prove cumbersome, expensive to implement, or unreliable.
One approach to maintaining electronic record integrity involves creating a "hash" of an electronic record: a check number representing the result performing computations on one or more digital representations of information fields in the document. To the extent someone alters a first digital document, the hash of the altered second document generally is different than the hash of the first document. Thus, after a document has been created, the hash of the document may, for example, be sent to witnesses or published in a newspaper. In this way, for example, the owner of the record may show that, since the hash of a particular record is the same as the hash published five years ago, the record must have been created and maintained in an unaltered state for five years.
Nonetheless, such a method still leaves open the possibility that two individuals may collude to falsely state the value of a hash. Also, with appropriate cryptographic techniques, undetected alterations may still be made. For example, one may alter a document as desired and then make other suppressed changes, such as a carriage return followed by a space-up command, such that the original and altered documents have the same hash value. See, for example, B. Schneier, Applied Cryptography, Chapter 3.8, Timestamping Services, pages 61-65 (John Wiley & Sons, Inc. 1994).